A “folder” is a named collection of related items that can be retrieved, moved, and otherwise manipulated as one entity. “Foldering” or “linking” is a process where a content management system manages and/or controls the creation, retrieval, editing and distribution of content within an information processing system. Foldering or linking is the act of forming a “link” relationship between two Items. Generally, the content management system enables an end user to create a folder in the content management system and file it into a library by interacting with a suitable application.
In one exemplary type of linking system, each item in the system may exist as the “source” and/or “target” for linking. The source would typically be thought of as a folder, and the target could be either a document or a folder. This relationship is maintained in a table known as a LINKS table.
Content management is an infrastructure to manage a wide spectrum of digital information. Large collections of scanned images, facsimiles, electronic office documents, XML and HTML files, computer output, audio, video, multimedia, and virtual reality content can be stored and accessed through the content management system. The content management system integrates content with line of business, customer service, enterprise resource planning, digital asset management, distance learning, Web content management or other applications to accelerate benefits across the enterprise.
The content manager product may be visualized as a triangle; its three vertices being the client, a library server and a resource manager. The client is the user's interface; it gives the user the capability of storing, searching for, and marking-up objects such as documents, files, etc. The library server is the equivalent of a card catalog that holds information about the objects, including their location. The resource manager (RM) is the storage location for either the actual object or a pointer to the actual object.
The core library server logic (except for system utilities and housekeeping tasks) is packaged as a set of relational database (RDB) stored procedures (SPs) containing embedded SQL statements. Each stored procedure (SP) is precompiled and runs on a relational database (RDB) server. Consequently, each Library Server (LS) process is a relational database (RDB) server process. Stored procedures (SPs) can be executed through the library server's SQL interface. The library server can be remotely accessed through a relational database (RDB) client.
The Resource Managers (RMs) may support different/multiple access protocols. The resource manager (RM) supports the HTTP protocol.
The basic information entities managed by the library server are “items.” As used herein, the “items” can be categorized in two types, simple items and resource items. Resource items can have content associated with them that is stored in one or more resource managers. Resource items point to their content via resource URL-RELATED DATA.
The library server (LS) and resource manager (RM) are separate processes, often running on different machines. In operation, clients first contact the library server (LS) to create/update an index for an object, and to determine where the object is to be stored/replaced. The client then sends a request to the resource manager (RM) to store/replace the object
Considering an example of a content management system with linking. An end user desires to view content objects from contents within the folder. The client sends a request to the library server to get the content of a folder. The library server returns to the client the identifiers of items contained in the folder. The client sends some or all of those identifiers back to the library server. The library server returns all attributes for each identifier to the client. The client then displays the list of items in the folder. The end user may select any item for further action such as display, removal from the folder, or other actions.
In prior content management systems with automatic linking, if the user task is to correctly add a document to a folder based on the value of more than one attribute, the client first searches for a folder of the required type with the required attribute values. If a folder of specified type and attribute is not found, the folder is created. The newly created document or folder is then added. This could create planning problems for the client, especially when dealing with large numbers of objects and documents.
These prior content management systems that automatically link documents are based on one attribute, and create folders to one level. They do not support automatic linking for multiple attributes within multiple layers of folders
Thus, a need exists to extend the automatic linking process to items with multiple attributes and multiple levels of nested folders and to improve the performance of the existing automatic linking process.